﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Net;
using DAL.Entity;
using DAL.Persistencia;

namespace BLL.Utils
{
    public static class Log
    {

        public static void Save(string pagina, string linha, string coluna, string erro)
        {

            LogErro le = new LogErro();
            le.LogErro_pagina = pagina;
            le.LogErro_linha = linha;
            le.LogErro_coluna = coluna;
            le.LogErro_erro = erro;
            le.LogErro_dataInicial = DateTime.Now;

            LogErroDAL led = new LogErroDAL();
            led.Salvar(le);           
        }

        /// <summary>
        /// Monta e exibe o template para o erro
        /// </summary>
        /// <param name="strTitle"></param>
        /// <param name="strMessage"></param>
        public static void ShowTemplate(string strTitle, string strMessage)
        {
            HttpContext context = HttpContext.Current;

            //A linha abaixo limpa as mensagens de erro e não vai exibi-las na página.
            context.Server.ClearError();
            //Limpa todo o conteudo.
            context.Response.Clear();

            //Criando o WebClient, para ler o template
            WebClient wc = new WebClient();
            wc.Encoding = System.Text.Encoding.UTF8;

            //Obtendo o conteúdo do template
            string strTemplate = wc.DownloadString(context.Server.MapPath("~/template.htm"));
            strTemplate = string.Format(strTemplate, strTitle, strMessage, DateTime.Now.ToString());
            context.Response.Write(strTemplate);
            context.Response.End();
        }

    }
}
